package com.sap.sap_mangers.mapper;

import com.sap.sap_mangers.entity.activityLlk.UserBestScoreRecord;
import com.sap.sap_mangers.pojo.ActivityLlk;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 2021年女生节连连看活动记录 mapper
 *
 * @author ZhouKai
 * 2022/8/2 12:39
 */
@Mapper
public interface ActivityLlkMapper {

    /**
     * 添加活动记录
     *
     * @param activityLlk 连连看活动记录
     */
    public void addActivityLlkRecord(ActivityLlk activityLlk);

    /**
     * 获取自己的活动记录
     *
     * @param userId 学号
     * @return 连连看活动记录集合
     */
    public List<ActivityLlk> getOwnActivityLlkRecord(String userId);

    /**
     * 获取连连看活动中每个参与用户的最高记录 (查询出参与的用户及其对应最高分数，用辅助类UserBestScoreRecord储存)
     * 结果在根据score值排序后可调用getUserBestActivityLlkRecord获取详细的排行榜信息
     *
     * @return UserBestScoreRecord集合(未排序 ， mapper.xml中在group by后使用order by排序出错)
     */
    public List<UserBestScoreRecord> getActivityLlkAllUserBestScoreRecord();

    /**
     * 获取UserBestScoreRecord对应的详细记录 (用户最佳记录)
     *
     * @param userBestScoreRecord UserBestScoreRecord对象 (看getActivityLlkAllUserBestScoreRecord()中对此的描述)
     * @return 连连看活动记录
     */
    public ActivityLlk getUserBestActivityLlkRecord(UserBestScoreRecord userBestScoreRecord);
}
